Assisted Emulation for Legacy Executables

نویسندگان

  • Kam Woods
  • Geoffrey Brown
چکیده

Emulation is frequently discussed as a failsafe preservation strategy for born-digital documents that depend on contemporaneous software for access (Rothenberg, 2000). Yet little has been written about the contextual knowledge required to successfully use such software. The approach we advocate is to preserve necessary contextual information through scripts designed to control the legacy environment, and created during the preservation workflow. We describe software designed to minimize dependence on this knowledge by offering automated configuration and execution of emulated environments. We demonstrate that even simple scripts can reduce impediments to casual use of the digital objects being preserved. We describe tools to automate the remote use of preserved objects on local emulation environments. This can help eliminate both a dependence on physical reference workstations at preservation institutions, and provide users accessing materials over the web with simplified, easy-to-use environments. Our implementation is applied to examples from an existing collection of over 4,000 virtual CD-ROM images containing thousands of custom binary executables. 1 This paper is based on the paper given by the authors at the 5th International Digital Curation Conference, December 2009; received November 2009, published June 2010. The International Journal of Digital Curation is an international journal committed to scholarly excellence and dedicated to the advancement of digital curation across a wide range of sectors. ISSN: 1746-8256 The IJDC is published by UKOLN at the University of Bath and is a publication of the Digital Curation Centre. Assisted Emulation for Legacy Executables 161 Emulation and Access Emulation is a key strategy for ensuring long-term access to born-digital materials, yet it has a vulnerability that is rarely discussed – its dependence upon original software and the corresponding assumption that future users will remember how to “drive”. Even a seemingly simple task such as installation of software can be a formidable impediment to use. We describe tools that will assist future users by automating tasks such as software installation that could otherwise compromise usability, as well as techniques to automate other common tasks, such as exporting data and generating reports using preserved software environments. The installation issues could be overcome by the alternative strategy of creating a custom emulation environment for each preserved object; however, space and software licensing concerns make this a relatively unattractive choice. Furthermore, there remain usability issues that can only be addressed at runtime. Our software provides users with access to legacy executables in automatically configured virtual machines using simple installation scripts. Scripts and relevant documentation are stored alongside the original digital objects and metadata. Our goal has been to address basic questions about preserving any contextual knowledge associated with legacy executables. We begin with simple automation of common installation and execution tasks. Additionally, we discuss “wrapping” older DOSbased and early Windows GUI applications to generate reports or export data. Automation allows users to quickly browse and obtain information from preserved programs much as they would traditional static documents, without the need to learn arcane installation procedures, risk contamination of the host environment, or manually reconfigure the virtual machine. We show that with a small amount of coding less than 600 lines of C# code to guide the user, configure an emulation environment, and run associated install scripts, and less than 100 lines of Java to link browsing of a web archive to the local application we can create stable, repeatable environments for virtually any application type. Typical object-specific install scripts are small (1-10 lines of code). The work assumes that emulation is necessary to preserve some materials, and that the underlying technology is sufficiently well understood that preservation of emulation environments is likely to remain viable. We specifically address automating access to materials within an emulation environment, preserving and sharing emulation environments, and the technology required to automate emulation. We believe digital archives with a mandate for open access must inevitably implement strategies of this type. Modern users are accustomed to convenient access to archival materials over the Internet, but do not necessarily have the expertise to reconstruct the environments necessary to use these materials (van der Hoeven et al., 2007). A survey of more than 4,000 legacy CD-ROMs held in one collection at Indiana University identified more than 1,900 unique binary executables distributed without source. These programs encode historically significant scientific, economic, legislative, environmental, and social data – data that are media-rich and frequently cannot be migrated or reprocessed into static documents without information loss. The International Journal of Digital Curation Issue 1, Volume 5 | 2010 162 Kam Woods and Geoffrey Brown Existing archival strategies and the software tools that support them have increasingly focused on considerations of future access who will be looking for these materials, how they will find them, and under what conditions they will be used. Many of the assumptions made in these strategies are predicated on the idea that the majority of these materials will be stored as traditional documents frequently word processing, spreadsheet, database, or presentation formats. Executables present significantly harder access and search problems. Modern indexing schemes are based primarily on document metadata and, to a lesser extent, on document content. As the complexity of digital objects increases, facilitating end-user access becomes as critical a preservation problem as retention of the metadata used to describe them. Assisted emulation schemes such as the one presented here are a useful component in systems addressing this issue. The remainder of the paper is organized as follows. We outline our approach, including basic layout of the client, server, and networked storage, and discuss the specific problems addressed by our software. We provide a detailed description of the operation of our software, including the adaptation of an existing online archive for both on-site and remote use. We describe preparation of the archive, including script generation for automated installation and data extraction. We examine existing emulation platforms and preservation-specific emulation approaches, and discuss some future directions for this and related work.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Evaluating Assisted Emulation for Legacy Executables

Access to many born-digital materials can only be accomplished economically through the use of emulation where contemporaneous software is executed on an emulated machine. For example, many thousands of CD-ROMs have been published containing proprietary software that cannot be reasonably recreated. While emulation is proven technology and is widely used to run both current and obsolete versions...

متن کامل

Certification Criteria for Emulation Technology in the Australian Defence Force Military Avionics Context

Emulation technology promises to provide a means of addressing obsolescence issues in legacy computer processors in the military avionics domains. It has also been suggested that such technology might apply to safety critical and safety related systems in these domains. Numerous companies either have developed or are developing software components that are capable of emulating different legacy ...

متن کامل

Software Card Emulation in NFC-enabled Mobile Phones: Great Advantage or Security Nightmare?

Software card emulation is a new approch to advance the interoperability of NFC with legacy contactless smartcard systems. It has been first introduced to NFC-enabled mobile phones by Research In Motion (RIM) on their BlackBerry platform. Software card emulation aims at opening and simplifying the complex and tightly controlled card emulation functionality. While this form of card emulation, th...

متن کامل

Verifying Emulation of Legacy Mission Computer Systems

Processor obsolescence is a serious maintenance problem for long-lived embedded control systems. A practical solution is to interpose an emulator program between the ‘legacy’ software and a replacement processor, so that the old code can be reused on the new machine. Unfortunately, no verification techniques exist for proving that the resulting system preserves the original system’s functional ...

متن کامل

A Portable, Cross-platform Emulation System

Traditionally, emulation systems have been unnecessarily written and compiled for specific computer architectures. Therefore, emulations cannot easily be ported to other computing platforms. This paper proposes a portable emulation system, where the dependencies on particular host architectures are minimised by developing the emulation runtime, in the portable environment Java. Using this syste...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • IJDC

دوره 5  شماره 

صفحات  -

تاریخ انتشار 2010